Custom Processor তৈরি করা

Java Technologies - অ্যাপাচি নিফাই (Apache NiFi) Processors এর ভূমিকা এবং ব্যবহার |
122
122

অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন টুল যা বিভিন্ন ডেটা প্রসেসিং অপারেশনকে সহজ করে। তবে, কখনও কখনও আপনার নির্দিষ্ট প্রয়োজনের জন্য একটি কাস্টম প্রোসেসর তৈরি করার প্রয়োজন হতে পারে। নিফাই কাস্টম প্রোসেসর তৈরি করা একটি মৌলিক পদ্ধতি, যা Java প্রোগ্রামিং ভাষায় কোডিং করতে হয়। এই প্রোসেসরটি ডেটা প্রক্রিয়া এবং ট্রান্সফর্মেশন কাস্টমাইজ করতে সহায়ক হতে পারে।


কাস্টম প্রোসেসর তৈরি করার জন্য প্রস্তুতি

  1. নিফাই ডেভেলপমেন্ট পরিবেশ প্রস্তুত করা
    প্রথমে আপনাকে নিফাই ডেভেলপমেন্ট পরিবেশ প্রস্তুত করতে হবে। এজন্য আপনাকে Java SDK, Apache Maven এবং নিফাই জার ফাইল ইনস্টল করতে হবে।
  2. Maven প্রকল্প তৈরি
    কাস্টম প্রোসেসর তৈরি করতে Maven একটি ভালো টুল, যা নির্ভরতা এবং বিল্ড ম্যানেজমেন্টে সহায়ক। আপনাকে একটি Maven প্রকল্প তৈরি করতে হবে। pom.xml ফাইলে নিম্নলিখিত ডিপেনডেন্সি যোগ করতে হবে:

    <dependencies>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-api</artifactId>
            <version>1.x.x</version>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-processor-api</artifactId>
            <version>1.x.x</version>
        </dependency>
    </dependencies>
    
  3. Java ক্লাস তৈরি করা
    nifi-processor-api ব্যবহার করে কাস্টম প্রোসেসরের জন্য একটি Java ক্লাস তৈরি করতে হবে। এই ক্লাসে প্রোসেসরের কার্যক্রম এবং ইনপুট আউটপুট ব্যবস্থাপনা করতে হবে।

কাস্টম প্রোসেসর তৈরি করার ধাপ

Step 1: প্রোসেসর ক্লাস তৈরি করা

প্রথমে একটি Java ক্লাস তৈরি করুন যা AbstractProcessor ক্লাস থেকে উত্তরাধিকারী হবে। এই ক্লাসটি আপনার প্রোসেসরের বেস ফাংশনালিটি সরবরাহ করবে। নিচে একটি কাস্টম প্রোসেসরের উদাহরণ:

import org.apache.nifi.processor.AbstractProcessor;
import org.apache.nifi.processor.ProcessContext;
import org.apache.nifi.processor.ProcessSession;
import org.apache.nifi.processor.Relationship;
import org.apache.nifi.flowfile.FlowFile;
import org.apache.nifi.annotation.lifecycle.OnScheduled;

public class CustomProcessor extends AbstractProcessor {

    public static final Relationship SUCCESS = new Relationship.Builder()
            .name("success")
            .build();

    @Override
    public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
        // FlowFile গ্রহণ করা
        FlowFile flowFile = session.get();
        if (flowFile == null) {
            return;
        }

        // ডেটা প্রক্রিয়া করার জন্য কোড যুক্ত করুন
        // উদাহরণস্বরূপ, FlowFile এর কন্টেন্ট ম্যানিপুলেট করা

        // FlowFile রিসোর্স ফিরিয়ে দেওয়া
        session.transfer(flowFile, SUCCESS);
    }
}

এই উদাহরণে, onTrigger মেথডে FlowFile গ্রহণ করা হয় এবং কিছু প্রক্রিয়া করার পরে সফলভাবে SUCCESS রিলেশনশিপে স্থানান্তর করা হয়।


Step 2: প্রোসেসর ডেফিনিশন তৈরি করা

প্রোসেসর কনফিগারেশন এবং ডিফাইনেশনকে উপযুক্তভাবে সেট করতে আপনাকে @Trigger এবং অন্যান্য এনোটেশন ব্যবহার করতে হবে। এটি আপনার প্রোসেসরের জন্য ইনপুট এবং আউটপুট কনফিগারেশন নির্ধারণ করে।

import org.apache.nifi.processor.annotation.Tags;
import org.apache.nifi.processor.annotation.InputRequirement;
import org.apache.nifi.processor.annotation.CapabilityDescription;

@Tags({"custom", "processor"})
@InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED)
@CapabilityDescription("This is a custom processor to perform custom actions.")
public class CustomProcessor extends AbstractProcessor {
    // Class implementation here...
}

এখানে, @Tags এবং @CapabilityDescription ব্যবহার করে আপনার প্রোসেসরের জন্য মেটাডেটা যোগ করা হচ্ছে।


Step 3: প্রোসেসর বিল্ড এবং প্যাকেজ করা

একবার আপনার কাস্টম প্রোসেসর কোড লেখা হয়ে গেলে, Maven ব্যবহার করে এটি বিল্ড এবং প্যাকেজ করতে হবে। নিচে একটি সাধারণ Maven কমান্ড:

mvn clean install

এই কমান্ডটি আপনার প্রোজেক্টটি বিল্ড করবে এবং target/ ফোল্ডারে JAR ফাইল তৈরি করবে।


Step 4: প্রোসেসর নিফাইতে ডিপ্লয় করা

একবার JAR ফাইল তৈরি হলে, এটি নিফাই ইনস্টলেশনের lib ডিরেক্টরিতে স্থানান্তর করতে হবে।

cp target/custom-processor-1.0.jar /opt/nifi/lib/

এরপর, নিফাই সার্ভিস পুনরায় চালু করুন:

./bin/nifi.sh restart

এখন আপনি নিফাই UI তে গিয়ে আপনার কাস্টম প্রোসেসর দেখতে পারবেন এবং এটি ব্যবহার করতে পারবেন।


কাস্টম প্রোসেসরের উন্নত কনফিগারেশন

  1. প্রপার্টি কনফিগারেশন
    কাস্টম প্রোসেসর তৈরি করার সময় আপনাকে ব্যবহারকারীর কনফিগারযোগ্য প্রপার্টি নির্ধারণ করতে হবে। এই প্রপার্টিগুলি @InputRequirement এবং @Property এনোটেশন ব্যবহার করে কনফিগার করা যেতে পারে।

    উদাহরণস্বরূপ:

    @Property(label = "Custom Property", description = "This is a custom property.")
    private String customProperty;
    
  2. রিলেশনশিপ কনফিগারেশন
    আপনার প্রোসেসরের সাথে কাজ করার জন্য বিভিন্ন রিলেশনশিপ (যেমন, SUCCESS, FAILURE) তৈরি করতে হবে যাতে প্রোসেসরটি ডেটা আউটপুট ঠিকভাবে প্রক্রিয়া করতে পারে।

    public static final Relationship FAILURE = new Relationship.Builder()
            .name("failure")
            .build();
    

সারাংশ

অ্যাপাচি নিফাই (Apache NiFi) এ কাস্টম প্রোসেসর তৈরি করা একটি শক্তিশালী পদ্ধতি যা আপনাকে নির্দিষ্ট ডেটা প্রক্রিয়া এবং ট্রান্সফর্মেশন কার্যক্রম কাস্টমাইজ করার সুযোগ দেয়। Java প্রোগ্রামিং ভাষা এবং নিফাই API ব্যবহার করে কাস্টম প্রোসেসর তৈরি করা যায়, যা বিভিন্ন ডেটা ফ্লো অপারেশন সহজ ও কার্যকরী করতে সহায়ক। এতে আপনাকে ক্লাস তৈরি, প্রপার্টি কনফিগারেশন, এবং বিল্ড পদ্ধতি শিখতে হবে, তারপর JAR ফাইলটি নিফাই সার্ভারে ডিপ্লয় করে ক্লাস্টারে ইন্সটল করতে হবে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion